<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.5"/>
<title>MCUXpresso SDK API Reference Manual: TSC: Touch Screen Controller Driver</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="customdoxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="fs_logo.gif"/></td>
  <td style="padding-left: 0.5em;">
   <div id="projectname">MCUXpresso SDK API Reference Manual
   &#160;<span id="projectnumber">Rev. 0</span>
   </div>
   <div id="projectbrief">NXP Semiconductors</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.5 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>API&#160;Reference</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('group__tsc.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Pages</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#enumval-members">Enumerator</a> &#124;
<a href="#func-members">Functions</a> &#124;
<a href="#var-members">Variables</a>  </div>
  <div class="headertitle">
<div class="title">TSC: Touch Screen Controller Driver</div>  </div>
</div><!--header-->
<div class="contents">
<a name="details" id="details"></a><h2 class="groupheader">Overview</h2>
<p>The MCUXpresso SDK provides Peripheral driver for the Touch Screen Controller(TSC) module of MCUXpresso SDK devices.</p>
<h1><a class="anchor" id="TSCTpyUC"></a>
Typical use case</h1>
<h2><a class="anchor" id="TSCPolConfig"></a>
4-wire Polling Configuration</h2>
<div class="fragment"><div class="line"><span class="comment">// ...</span></div>
<div class="line"></div>
<div class="line"><a class="code" href="group__tsc.html#structtsc__config__t">tsc_config_t</a> k_tscConfig;</div>
<div class="line"></div>
<div class="line">BOARD_InitHardware();</div>
<div class="line"></div>
<div class="line">PRINTF(<span class="stringliteral">&quot;TSC fourWireModePolling Example Start!\r\n&quot;</span>);</div>
<div class="line"></div>
<div class="line">ADC_Configuration();</div>
<div class="line"></div>
<div class="line">TSC_GetDefaultConfig(&amp;k_tscConfig);</div>
<div class="line">k_tscConfig.<a class="code" href="group__tsc.html#ga7b0a4cf8822101c093825a56db3fd448">enableAutoMeasure</a> = <span class="keyword">true</span>;</div>
<div class="line"><a class="code" href="group__tsc.html#gacb3dc8de52498f49e63f0bd5938a62bb">TSC_Init</a>(DEMO_TSC_BASE, &amp;k_tscConfig);</div>
<div class="line">TSC_EnableInterruptSignals(DEMO_TSC_BASE, <a class="code" href="group__tsc.html#gga655702c8839e0c94717d485d9a10a67da79fee3ba7ac2615e17955268b640ad57">kTSC_ValidSignalEnable</a>);</div>
<div class="line">PRINTF(<span class="stringliteral">&quot;Please touch screen.\r\n&quot;</span>);</div>
<div class="line"></div>
<div class="line"><span class="keywordflow">while</span> (1)</div>
<div class="line">{</div>
<div class="line">    TSC_SoftwareReset(DEMO_TSC_BASE);</div>
<div class="line">    TSC_StartSenseDetection(DEMO_TSC_BASE);</div>
<div class="line">    <span class="keywordflow">while</span> ((TSC_GetStatusFlags(DEMO_TSC_BASE) &amp; <a class="code" href="group__tsc.html#ggadbb2ca2b7e62e7a71a6ad4e3fe4d3059ada2c97463a5edd7f32d54a94fcaa8996">kTSC_StateMachineFlag</a>) != <a class="code" href="group__tsc.html#gga639241569cdfa1d3dec8489b1b295d60aa8338c396e390d1213c0ada74a58e11d">kTSC_IdleState</a>)</div>
<div class="line">    {</div>
<div class="line">    }</div>
<div class="line">    <span class="keywordflow">if</span> ((TSC_GetInterruptStatusFlags(DEMO_TSC_BASE) &amp; <a class="code" href="group__tsc.html#ggab7752acd24c075710a208714af0e80aea85788cd279dcfdf8b7b9a0bfa6728afe">kTSC_ValidSignalFlag</a>) == kTSC_ValidSignalFlag)</div>
<div class="line">    {</div>
<div class="line">        TSC_ClearInterruptStatusFlags(DEMO_TSC_BASE, kTSC_ValidSignalFlag);</div>
<div class="line">        PRINTF(<span class="stringliteral">&quot;x = %d, y = %d\r\n&quot;</span>, TSC_GetMeasureValue(TSC, <a class="code" href="group__tsc.html#ggaaec5b35ab19a0e647e29531ba1abc06dafb5a7d2f1383372497598fc19deeaabf">kTSC_XCoordinateValueSelection</a>),</div>
<div class="line">               TSC_GetMeasureValue(TSC, <a class="code" href="group__tsc.html#ggaaec5b35ab19a0e647e29531ba1abc06da9ac47cb685b7fa594b738ccbe3488587">kTSC_YCoordinateValueSelection</a>));</div>
<div class="line">    }</div>
<div class="line">}</div>
<div class="line"></div>
<div class="line"><span class="comment">// ...</span></div>
<div class="line"></div>
<div class="line"><span class="keywordtype">void</span> ADC_Configuration(<span class="keywordtype">void</span>)</div>
<div class="line">{</div>
<div class="line">    <a class="code" href="group__adc__5hc__12b1msps__sar.html#structadc__5hc__config__t">adc_5hc_config_t</a> k_adcConfig;</div>
<div class="line">    <a class="code" href="group__adc__5hc__12b1msps__sar.html#structadc__5hc__channel__config__t">adc_5hc_channel_config_t</a> k_adcChannelConfig;</div>
<div class="line"></div>
<div class="line">    <a class="code" href="group__adc__5hc__12b1msps__sar.html#ga16a0359936f2b397718fe47daaf0fd88">ADC_5HC_GetDefaultConfig</a>(&amp;k_adcConfig);</div>
<div class="line">    <a class="code" href="group__adc__5hc__12b1msps__sar.html#gab288063385c2c1ae378b8e82132eea98">ADC_5HC_Init</a>(DEMO_ADC_BASE, &amp;k_adcConfig);</div>
<div class="line">    <a class="code" href="group__adc__5hc__12b1msps__sar.html#gaeb44ae0c7b2e71ba9be4c6eff604dd4e">ADC_5HC_EnableHardwareTrigger</a>(DEMO_ADC_BASE, <span class="keyword">true</span>);</div>
<div class="line"></div>
<div class="line">    k_adcChannelConfig.<a class="code" href="group__adc__5hc__12b1msps__sar.html#ga10e7726a2eda6fd9d66d359362ffab48">channelNumber</a> = 1U; </div>
<div class="line">    k_adcChannelConfig.<a class="code" href="group__adc__5hc__12b1msps__sar.html#ga2b07c0c4f7f7f750452ee55e80f34119">enableInterruptOnConversionCompleted</a> = <span class="keyword">false</span>;</div>
<div class="line">    <a class="code" href="group__adc__5hc__12b1msps__sar.html#gab39ad3b1ea38e6decfd03586816d1c80">ADC_5HC_SetChannelConfig</a>(DEMO_ADC_BASE, 3U, &amp;k_adcChannelConfig);</div>
<div class="line">    k_adcChannelConfig.<a class="code" href="group__adc__5hc__12b1msps__sar.html#ga10e7726a2eda6fd9d66d359362ffab48">channelNumber</a> = 3U;</div>
<div class="line">    <a class="code" href="group__adc__5hc__12b1msps__sar.html#gab39ad3b1ea38e6decfd03586816d1c80">ADC_5HC_SetChannelConfig</a>(DEMO_ADC_BASE, 1U, &amp;k_adcChannelConfig);</div>
<div class="line"></div>
<div class="line">    <span class="keywordflow">if</span> (kStatus_Success == <a class="code" href="group__adc__5hc__12b1msps__sar.html#ga3ff086a97419b5331b4a4beccdc51bdb">ADC_5HC_DoAutoCalibration</a>(DEMO_ADC_BASE))</div>
<div class="line">    {</div>
<div class="line">        PRINTF(<span class="stringliteral">&quot;ADC_5HC_DoAntoCalibration() Done.\r\n&quot;</span>);</div>
<div class="line">    }</div>
<div class="line">    <span class="keywordflow">else</span></div>
<div class="line">    {</div>
<div class="line">        PRINTF(<span class="stringliteral">&quot;ADC_5HC_DoAutoCalibration() Failed.\r\n&quot;</span>);</div>
<div class="line">    }</div>
<div class="line">}</div>
</div><!-- fragment --><h2><a class="anchor" id="TSCIntConfig"></a>
4-wire Interrupt Configuration</h2>
<div class="fragment"><div class="line"><span class="comment">// ...</span></div>
<div class="line"></div>
<div class="line"><a class="code" href="group__tsc.html#structtsc__config__t">tsc_config_t</a> k_tscConfig;</div>
<div class="line"></div>
<div class="line">BOARD_InitHardware();</div>
<div class="line"></div>
<div class="line">PRINTF(<span class="stringliteral">&quot;TSC fourWireModeInterrupt Example Start!\r\n&quot;</span>);</div>
<div class="line"></div>
<div class="line">ADC_Configuration();</div>
<div class="line">GIC_Configuration();</div>
<div class="line"></div>
<div class="line">TSC_GetDefaultConfig(&amp;k_tscConfig);</div>
<div class="line"><a class="code" href="group__tsc.html#gacb3dc8de52498f49e63f0bd5938a62bb">TSC_Init</a>(DEMO_TSC_BASE, &amp;k_tscConfig);</div>
<div class="line">TSC_EnableInterruptSignals(DEMO_TSC_BASE,</div>
<div class="line">                           <a class="code" href="group__tsc.html#gga655702c8839e0c94717d485d9a10a67da79fee3ba7ac2615e17955268b640ad57">kTSC_ValidSignalEnable</a> | <a class="code" href="group__tsc.html#gga655702c8839e0c94717d485d9a10a67da7967ee367ee2b5eb5ba112a8ad23e1a2">kTSC_MeasureSignalEnable</a> | <a class="code" href="group__tsc.html#gga655702c8839e0c94717d485d9a10a67da7395931f390785e4f0df7acf807e4eb8">kTSC_DetectSignalEnable</a>);</div>
<div class="line">TSC_EnableInterrupts(DEMO_TSC_BASE, <a class="code" href="group__tsc.html#ggae3e6f693b301c3ee1789dced536985aaa414d51fca3d752845bbf8a5c8bc03f8b">kTSC_MeasureInterruptEnable</a> | <a class="code" href="group__tsc.html#ggae3e6f693b301c3ee1789dced536985aaae31affb4fc3eac550f1bd68e17c3ecc6">kTSC_DetectInterruptEnable</a>);</div>
<div class="line">PRINTF(<span class="stringliteral">&quot;Please touch screen.\r\n&quot;</span>);</div>
<div class="line"></div>
<div class="line"><span class="keywordflow">while</span> (1)</div>
<div class="line">{</div>
<div class="line">    TSC_SoftwareReset(DEMO_TSC_BASE);</div>
<div class="line">    TSC_StartSenseDetection(DEMO_TSC_BASE);</div>
<div class="line">    <span class="keywordflow">while</span> ((TSC_GetStatusFlags(DEMO_TSC_BASE) &amp; kTSC_StateMachineFlag) != <a class="code" href="group__tsc.html#gga639241569cdfa1d3dec8489b1b295d60aa8338c396e390d1213c0ada74a58e11d">kTSC_IdleState</a>)</div>
<div class="line">    {</div>
<div class="line">    }</div>
<div class="line">    <span class="keywordflow">if</span> (g_tscTouch)</div>
<div class="line">    {</div>
<div class="line">        g_tscTouch = <span class="keyword">false</span>;</div>
<div class="line">        PRINTF(<span class="stringliteral">&quot;x = %d, y = %d\r\n&quot;</span>, TSC_GetMeasureValue(DEMO_TSC_BASE, <a class="code" href="group__tsc.html#ggaaec5b35ab19a0e647e29531ba1abc06dafb5a7d2f1383372497598fc19deeaabf">kTSC_XCoordinateValueSelection</a>),</div>
<div class="line">               TSC_GetMeasureValue(DEMO_TSC_BASE, <a class="code" href="group__tsc.html#ggaaec5b35ab19a0e647e29531ba1abc06da9ac47cb685b7fa594b738ccbe3488587">kTSC_YCoordinateValueSelection</a>));</div>
<div class="line">    }</div>
<div class="line">}</div>
<div class="line"></div>
<div class="line"><span class="comment">// ...</span></div>
<div class="line"></div>
<div class="line"><span class="keywordtype">void</span> ADC_Configuration(<span class="keywordtype">void</span>)</div>
<div class="line">{</div>
<div class="line">    <a class="code" href="group__adc__5hc__12b1msps__sar.html#structadc__5hc__config__t">adc_5hc_config_t</a> k_adcConfig;</div>
<div class="line">    <a class="code" href="group__adc__5hc__12b1msps__sar.html#structadc__5hc__channel__config__t">adc_5hc_channel_config_t</a> k_adcChannelConfig;</div>
<div class="line"></div>
<div class="line">    <a class="code" href="group__adc__5hc__12b1msps__sar.html#ga16a0359936f2b397718fe47daaf0fd88">ADC_5HC_GetDefaultConfig</a>(&amp;k_adcConfig);</div>
<div class="line">    <a class="code" href="group__adc__5hc__12b1msps__sar.html#gab288063385c2c1ae378b8e82132eea98">ADC_5HC_Init</a>(DEMO_ADC_BASE, &amp;k_adcConfig);</div>
<div class="line">    <a class="code" href="group__adc__5hc__12b1msps__sar.html#gaeb44ae0c7b2e71ba9be4c6eff604dd4e">ADC_5HC_EnableHardwareTrigger</a>(DEMO_ADC_BASE, <span class="keyword">true</span>);</div>
<div class="line"></div>
<div class="line">    k_adcChannelConfig.<a class="code" href="group__adc__5hc__12b1msps__sar.html#ga10e7726a2eda6fd9d66d359362ffab48">channelNumber</a> = 1U; <span class="comment">/* Channel1 is ynlr port. */</span></div>
<div class="line">    k_adcChannelConfig.<a class="code" href="group__adc__5hc__12b1msps__sar.html#ga2b07c0c4f7f7f750452ee55e80f34119">enableInterruptOnConversionCompleted</a> = <span class="keyword">false</span>;</div>
<div class="line">    <a class="code" href="group__adc__5hc__12b1msps__sar.html#gab39ad3b1ea38e6decfd03586816d1c80">ADC_5HC_SetChannelConfig</a>(DEMO_ADC_BASE, 3U, &amp;k_adcChannelConfig);</div>
<div class="line">    k_adcChannelConfig.<a class="code" href="group__adc__5hc__12b1msps__sar.html#ga10e7726a2eda6fd9d66d359362ffab48">channelNumber</a> = 3U; <span class="comment">/* Channel3 is xnur port. */</span></div>
<div class="line">    <a class="code" href="group__adc__5hc__12b1msps__sar.html#gab39ad3b1ea38e6decfd03586816d1c80">ADC_5HC_SetChannelConfig</a>(DEMO_ADC_BASE, 1U, &amp;k_adcChannelConfig);</div>
<div class="line"></div>
<div class="line">    <span class="keywordflow">if</span> (kStatus_Success == <a class="code" href="group__adc__5hc__12b1msps__sar.html#ga3ff086a97419b5331b4a4beccdc51bdb">ADC_5HC_DoAutoCalibration</a>(DEMO_ADC_BASE))</div>
<div class="line">    {</div>
<div class="line">        PRINTF(<span class="stringliteral">&quot;ADC_5HC_DoAntoCalibration() Done.\r\n&quot;</span>);</div>
<div class="line">    }</div>
<div class="line">    <span class="keywordflow">else</span></div>
<div class="line">    {</div>
<div class="line">        PRINTF(<span class="stringliteral">&quot;ADC_5HC_DoAutoCalibration() Failed.\r\n&quot;</span>);</div>
<div class="line">    }</div>
<div class="line">}</div>
<div class="line"></div>
<div class="line"></div>
<div class="line"><span class="keywordtype">void</span> GIC_Configuration(<span class="keywordtype">void</span>)</div>
<div class="line">{</div>
<div class="line">    GIC_EnableIRQ(TSC_IRQn);</div>
<div class="line">}</div>
<div class="line"></div>
<div class="line"><span class="keywordtype">void</span> EXAMPLE_TSC_IRQHandler(<span class="keywordtype">void</span>)</div>
<div class="line">{</div>
<div class="line">    <span class="keywordflow">if</span> ((TSC_GetInterruptStatusFlags(DEMO_TSC_BASE) &amp; <a class="code" href="group__tsc.html#ggab7752acd24c075710a208714af0e80aea9a36e449f6b8827cd02bcb3b06ecc458">kTSC_DetectSignalFlag</a>) == kTSC_DetectSignalFlag)</div>
<div class="line">    {</div>
<div class="line">        TSC_ClearInterruptStatusFlags(DEMO_TSC_BASE, kTSC_DetectSignalFlag);</div>
<div class="line">        TSC_StartMeasure(DEMO_TSC_BASE);</div>
<div class="line">    }</div>
<div class="line">    <span class="keywordflow">else</span></div>
<div class="line">    {</div>
<div class="line">        <span class="keywordflow">if</span> ((TSC_GetInterruptStatusFlags(DEMO_TSC_BASE) &amp; kTSC_ValidSignalFlag) == kTSC_ValidSignalFlag)</div>
<div class="line">        {</div>
<div class="line">            TSC_ClearInterruptStatusFlags(DEMO_TSC_BASE, kTSC_ValidSignalFlag);</div>
<div class="line">            g_tscTouch = <span class="keyword">true</span>;</div>
<div class="line">        }</div>
<div class="line">        TSC_ClearInterruptStatusFlags(DEMO_TSC_BASE, <a class="code" href="group__tsc.html#ggab7752acd24c075710a208714af0e80aea1523302d45304ca3e4f0b0697e236ff9">kTSC_MeasureSignalFlag</a>);</div>
<div class="line">    }</div>
<div class="line">}</div>
</div><!-- fragment --> <table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:structtsc__config__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__tsc.html#structtsc__config__t">tsc_config_t</a></td></tr>
<tr class="memdesc:structtsc__config__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">@ Controller configuration.  <a href="group__tsc.html#structtsc__config__t">More...</a><br/></td></tr>
<tr class="separator:structtsc__config__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:ga6266bb792d57f73341a5565bad036f09"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__tsc.html#ga6266bb792d57f73341a5565bad036f09">FSL_TSC_DRIVER_VERSION</a>&#160;&#160;&#160;(MAKE_VERSION(2, 0, 0))</td></tr>
<tr class="memdesc:ga6266bb792d57f73341a5565bad036f09"><td class="mdescLeft">&#160;</td><td class="mdescRight">TSC driver version.  <a href="#ga6266bb792d57f73341a5565bad036f09">More...</a><br/></td></tr>
<tr class="separator:ga6266bb792d57f73341a5565bad036f09"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:ga654ccd148f43949235e09dc2f0b38189"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__tsc.html#ga654ccd148f43949235e09dc2f0b38189">tsc_detection_mode_t</a> { <br/>
&#160;&#160;<a class="el" href="group__tsc.html#gga654ccd148f43949235e09dc2f0b38189a6729342cd2b777d043dc508b21828553">kTSC_Detection4WireMode</a> = 0U, 
<br/>
&#160;&#160;<a class="el" href="group__tsc.html#gga654ccd148f43949235e09dc2f0b38189ac30abbb1702e84a2197714d37bc90443">kTSC_Detection5WireMode</a> = 1U
<br/>
 }</td></tr>
<tr class="memdesc:ga654ccd148f43949235e09dc2f0b38189"><td class="mdescLeft">&#160;</td><td class="mdescRight">@ Controller detection mode.  <a href="group__tsc.html#ga654ccd148f43949235e09dc2f0b38189">More...</a><br/></td></tr>
<tr class="separator:ga654ccd148f43949235e09dc2f0b38189"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaaec5b35ab19a0e647e29531ba1abc06d"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__tsc.html#gaaec5b35ab19a0e647e29531ba1abc06d">tsc_corrdinate_value_selection_t</a> { <br/>
&#160;&#160;<a class="el" href="group__tsc.html#ggaaec5b35ab19a0e647e29531ba1abc06dafb5a7d2f1383372497598fc19deeaabf">kTSC_XCoordinateValueSelection</a> = 0U, 
<br/>
&#160;&#160;<a class="el" href="group__tsc.html#ggaaec5b35ab19a0e647e29531ba1abc06da9ac47cb685b7fa594b738ccbe3488587">kTSC_YCoordinateValueSelection</a> = 1U
<br/>
 }</td></tr>
<tr class="memdesc:gaaec5b35ab19a0e647e29531ba1abc06d"><td class="mdescLeft">&#160;</td><td class="mdescRight">@ Coordinate value mask.  <a href="group__tsc.html#gaaec5b35ab19a0e647e29531ba1abc06d">More...</a><br/></td></tr>
<tr class="separator:gaaec5b35ab19a0e647e29531ba1abc06d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga655702c8839e0c94717d485d9a10a67d"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__tsc.html#ga655702c8839e0c94717d485d9a10a67d">_tsc_interrupt_signal_mask</a> { <br/>
&#160;&#160;<a class="el" href="group__tsc.html#gga655702c8839e0c94717d485d9a10a67da4fb712d94c480d0119d469de34503df9">kTSC_IdleSoftwareSignalEnable</a> = TSC_INT_SIG_EN_IDLE_SW_SIG_EN_MASK, 
<br/>
&#160;&#160;<a class="el" href="group__tsc.html#gga655702c8839e0c94717d485d9a10a67da79fee3ba7ac2615e17955268b640ad57">kTSC_ValidSignalEnable</a>, 
<br/>
&#160;&#160;<a class="el" href="group__tsc.html#gga655702c8839e0c94717d485d9a10a67da7395931f390785e4f0df7acf807e4eb8">kTSC_DetectSignalEnable</a>, 
<br/>
&#160;&#160;<a class="el" href="group__tsc.html#gga655702c8839e0c94717d485d9a10a67da7967ee367ee2b5eb5ba112a8ad23e1a2">kTSC_MeasureSignalEnable</a> = TSC_INT_SIG_EN_MEASURE_SIG_EN_MASK
<br/>
 }</td></tr>
<tr class="memdesc:ga655702c8839e0c94717d485d9a10a67d"><td class="mdescLeft">&#160;</td><td class="mdescRight">@ Interrupt signal enable/disable mask.  <a href="group__tsc.html#ga655702c8839e0c94717d485d9a10a67d">More...</a><br/></td></tr>
<tr class="separator:ga655702c8839e0c94717d485d9a10a67d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae3e6f693b301c3ee1789dced536985aa"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__tsc.html#gae3e6f693b301c3ee1789dced536985aa">_tsc_interrupt_mask</a> { <br/>
&#160;&#160;<a class="el" href="group__tsc.html#ggae3e6f693b301c3ee1789dced536985aaafefa988bea28a002f6cf24f48da7e92c">kTSC_IdleSoftwareInterruptEnable</a>, 
<br/>
&#160;&#160;<a class="el" href="group__tsc.html#ggae3e6f693b301c3ee1789dced536985aaae31affb4fc3eac550f1bd68e17c3ecc6">kTSC_DetectInterruptEnable</a>, 
<br/>
&#160;&#160;<a class="el" href="group__tsc.html#ggae3e6f693b301c3ee1789dced536985aaa414d51fca3d752845bbf8a5c8bc03f8b">kTSC_MeasureInterruptEnable</a> = TSC_INT_EN_MEASURE_INT_EN_MASK
<br/>
 }</td></tr>
<tr class="memdesc:gae3e6f693b301c3ee1789dced536985aa"><td class="mdescLeft">&#160;</td><td class="mdescRight">@ Interrupt enable/disable mask.  <a href="group__tsc.html#gae3e6f693b301c3ee1789dced536985aa">More...</a><br/></td></tr>
<tr class="separator:gae3e6f693b301c3ee1789dced536985aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab7752acd24c075710a208714af0e80ae"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__tsc.html#gab7752acd24c075710a208714af0e80ae">_tsc_interrupt_status_flag_mask</a> { <br/>
&#160;&#160;<a class="el" href="group__tsc.html#ggab7752acd24c075710a208714af0e80aea643f3550c610129a163842058abc3a37">kTSC_IdleSoftwareFlag</a>, 
<br/>
&#160;&#160;<a class="el" href="group__tsc.html#ggab7752acd24c075710a208714af0e80aea85788cd279dcfdf8b7b9a0bfa6728afe">kTSC_ValidSignalFlag</a>, 
<br/>
&#160;&#160;<a class="el" href="group__tsc.html#ggab7752acd24c075710a208714af0e80aea9a36e449f6b8827cd02bcb3b06ecc458">kTSC_DetectSignalFlag</a> = TSC_INT_STATUS_DETECT_MASK, 
<br/>
&#160;&#160;<a class="el" href="group__tsc.html#ggab7752acd24c075710a208714af0e80aea1523302d45304ca3e4f0b0697e236ff9">kTSC_MeasureSignalFlag</a>
<br/>
 }</td></tr>
<tr class="memdesc:gab7752acd24c075710a208714af0e80ae"><td class="mdescLeft">&#160;</td><td class="mdescRight">@ Interrupt Status flag mask.  <a href="group__tsc.html#gab7752acd24c075710a208714af0e80ae">More...</a><br/></td></tr>
<tr class="separator:gab7752acd24c075710a208714af0e80ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga474a396fee814b822da5f794b6265894"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__tsc.html#ga474a396fee814b822da5f794b6265894">_tsc_adc_status_flag_mask</a> { <br/>
&#160;&#160;<a class="el" href="group__tsc.html#gga474a396fee814b822da5f794b6265894aa326721ecff53505481d4bb5cc622dcc">kTSC_ADCCOCOSignalFlag</a>, 
<br/>
&#160;&#160;<a class="el" href="group__tsc.html#gga474a396fee814b822da5f794b6265894a170c54ed0d4dea37f973f827fba3d4db">kTSC_ADCConversionValueFlag</a>
<br/>
 }</td></tr>
<tr class="memdesc:ga474a396fee814b822da5f794b6265894"><td class="mdescLeft">&#160;</td><td class="mdescRight">@ ADC status flag mask.  <a href="group__tsc.html#ga474a396fee814b822da5f794b6265894">More...</a><br/></td></tr>
<tr class="separator:ga474a396fee814b822da5f794b6265894"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gadbb2ca2b7e62e7a71a6ad4e3fe4d3059"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__tsc.html#gadbb2ca2b7e62e7a71a6ad4e3fe4d3059">_tsc_status_flag_mask</a> { <br/>
&#160;&#160;<a class="el" href="group__tsc.html#ggadbb2ca2b7e62e7a71a6ad4e3fe4d3059aca961be97cfda3f181ec2ecb32e4f6be">kTSC_IntermediateStateFlag</a> = TSC_DEBUG_MODE2_INTERMEDIATE_MASK, 
<br/>
&#160;&#160;<a class="el" href="group__tsc.html#ggadbb2ca2b7e62e7a71a6ad4e3fe4d3059a078984e44f4e84aa4178c41a2913cf5e">kTSC_DetectFiveWireFlag</a> = TSC_DEBUG_MODE2_DETECT_FIVE_WIRE_MASK, 
<br/>
&#160;&#160;<a class="el" href="group__tsc.html#ggadbb2ca2b7e62e7a71a6ad4e3fe4d3059a9b92797df34e8b13c0d64646c8c6d6cb">kTSC_DetectFourWireFlag</a> = TSC_DEBUG_MODE2_DETECT_FOUR_WIRE_MASK, 
<br/>
&#160;&#160;<a class="el" href="group__tsc.html#ggadbb2ca2b7e62e7a71a6ad4e3fe4d3059a7a3af06b4926a9680fe7e5afbf693b86">kTSC_GlitchThresholdFlag</a> = TSC_DEBUG_MODE2_DE_GLITCH_MASK, 
<br/>
&#160;&#160;<a class="el" href="group__tsc.html#ggadbb2ca2b7e62e7a71a6ad4e3fe4d3059ada2c97463a5edd7f32d54a94fcaa8996">kTSC_StateMachineFlag</a>
<br/>
 }</td></tr>
<tr class="memdesc:gadbb2ca2b7e62e7a71a6ad4e3fe4d3059"><td class="mdescLeft">&#160;</td><td class="mdescRight">@ TSC status flag mask.  <a href="group__tsc.html#gadbb2ca2b7e62e7a71a6ad4e3fe4d3059">More...</a><br/></td></tr>
<tr class="separator:gadbb2ca2b7e62e7a71a6ad4e3fe4d3059"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga639241569cdfa1d3dec8489b1b295d60"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__tsc.html#ga639241569cdfa1d3dec8489b1b295d60">tsc_state_machine_t</a> { <br/>
&#160;&#160;<a class="el" href="group__tsc.html#gga639241569cdfa1d3dec8489b1b295d60aa8338c396e390d1213c0ada74a58e11d">kTSC_IdleState</a> = 0U &lt;&lt; TSC_DEBUG_MODE2_STATE_MACHINE_SHIFT, 
<br/>
&#160;&#160;<a class="el" href="group__tsc.html#gga639241569cdfa1d3dec8489b1b295d60a747d661e964edcbe6b1920a4a9ab65e1">kTSC_1stPreChargeState</a> = 1U &lt;&lt; TSC_DEBUG_MODE2_STATE_MACHINE_SHIFT, 
<br/>
&#160;&#160;<a class="el" href="group__tsc.html#gga639241569cdfa1d3dec8489b1b295d60a74dbd6a1d228a67f0d2a4d47fea110db">kTSC_1stDetectState</a> = 2U &lt;&lt; TSC_DEBUG_MODE2_STATE_MACHINE_SHIFT, 
<br/>
&#160;&#160;<a class="el" href="group__tsc.html#gga639241569cdfa1d3dec8489b1b295d60a06bdb11049b70b1a96c9c38d2cbb4d5e">kTSC_XMeasureState</a> = 3U &lt;&lt; TSC_DEBUG_MODE2_STATE_MACHINE_SHIFT, 
<br/>
&#160;&#160;<a class="el" href="group__tsc.html#gga639241569cdfa1d3dec8489b1b295d60a328b133c01b9129288860a1746c51342">kTSC_YMeasureState</a> = 4U &lt;&lt; TSC_DEBUG_MODE2_STATE_MACHINE_SHIFT, 
<br/>
&#160;&#160;<a class="el" href="group__tsc.html#gga639241569cdfa1d3dec8489b1b295d60aa988480f08c3e6abb90008cde61e13db">kTSC_2ndPreChargeState</a> = 5U &lt;&lt; TSC_DEBUG_MODE2_STATE_MACHINE_SHIFT, 
<br/>
&#160;&#160;<a class="el" href="group__tsc.html#gga639241569cdfa1d3dec8489b1b295d60afd278a6f3930c424b34b1a70576a89ba">kTSC_2ndDetectState</a> = 6U &lt;&lt; TSC_DEBUG_MODE2_STATE_MACHINE_SHIFT
<br/>
 }</td></tr>
<tr class="memdesc:ga639241569cdfa1d3dec8489b1b295d60"><td class="mdescLeft">&#160;</td><td class="mdescRight">TSC state machine.  <a href="group__tsc.html#ga639241569cdfa1d3dec8489b1b295d60">More...</a><br/></td></tr>
<tr class="separator:ga639241569cdfa1d3dec8489b1b295d60"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad188c5cc2e2fa164ab7d0249e5b5535f"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__tsc.html#gad188c5cc2e2fa164ab7d0249e5b5535f">tsc_glitch_threshold_t</a> { <br/>
&#160;&#160;<a class="el" href="group__tsc.html#ggad188c5cc2e2fa164ab7d0249e5b5535fa12ee9bea62a7e0fa02c56f70f22e7635">kTSC_glitchThresholdALT0</a>, 
<br/>
&#160;&#160;<a class="el" href="group__tsc.html#ggad188c5cc2e2fa164ab7d0249e5b5535fac7b68d98d8b18c9d1226b9c7c1979715">kTSC_glitchThresholdALT1</a>, 
<br/>
&#160;&#160;<a class="el" href="group__tsc.html#ggad188c5cc2e2fa164ab7d0249e5b5535fa25cd540fd3a16d44d6c29715aa1b085c">kTSC_glitchThresholdALT2</a>, 
<br/>
&#160;&#160;<a class="el" href="group__tsc.html#ggad188c5cc2e2fa164ab7d0249e5b5535fa56b8f534049d71e78da5bbd1e345e035">kTSC_glitchThresholdALT3</a>
<br/>
 }</td></tr>
<tr class="memdesc:gad188c5cc2e2fa164ab7d0249e5b5535f"><td class="mdescLeft">&#160;</td><td class="mdescRight">TSC glitch threshold.  <a href="group__tsc.html#gad188c5cc2e2fa164ab7d0249e5b5535f">More...</a><br/></td></tr>
<tr class="separator:gad188c5cc2e2fa164ab7d0249e5b5535f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga32a9bbd362241a4c81f043138d5a332b"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__tsc.html#ga32a9bbd362241a4c81f043138d5a332b">tsc_trigger_signal_t</a> { <br/>
&#160;&#160;<a class="el" href="group__tsc.html#gga32a9bbd362241a4c81f043138d5a332ba044700d7ed91f6ac084f22f764b072be">kTSC_TriggerToChannel0</a> = 1U &lt;&lt; 0U, 
<br/>
&#160;&#160;<a class="el" href="group__tsc.html#gga32a9bbd362241a4c81f043138d5a332baca9c985ee553fd68d8bf832ae157e8e3">kTSC_TriggerToChannel1</a> = 1U &lt;&lt; 1U, 
<br/>
&#160;&#160;<a class="el" href="group__tsc.html#gga32a9bbd362241a4c81f043138d5a332baf82ef526f4386c9ac3092d8839bbf16d">kTSC_TriggerToChannel2</a> = 1U &lt;&lt; 2U, 
<br/>
&#160;&#160;<a class="el" href="group__tsc.html#gga32a9bbd362241a4c81f043138d5a332bab0b444b84a625cbc46e9acce58f873be">kTSC_TriggerToChannel3</a> = 1U &lt;&lt; 3U, 
<br/>
&#160;&#160;<a class="el" href="group__tsc.html#gga32a9bbd362241a4c81f043138d5a332ba219bda9e5ba92cfab02bdb9d12ad18b9">kTSC_TriggerToChannel4</a> = 1U &lt;&lt; 4U
<br/>
 }</td></tr>
<tr class="memdesc:ga32a9bbd362241a4c81f043138d5a332b"><td class="mdescLeft">&#160;</td><td class="mdescRight">@ Hardware trigger select signal, select which ADC channel to start conversion.  <a href="group__tsc.html#ga32a9bbd362241a4c81f043138d5a332b">More...</a><br/></td></tr>
<tr class="separator:ga32a9bbd362241a4c81f043138d5a332b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4a1343fce2e36de727e9750009daec2c"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__tsc.html#ga4a1343fce2e36de727e9750009daec2c">tsc_port_source_t</a> { <br/>
&#160;&#160;<a class="el" href="group__tsc.html#gga4a1343fce2e36de727e9750009daec2ca84f9070ba00dd05e32b44c930cd96397">kTSC_WiperPortSource</a> = 0U, 
<br/>
&#160;&#160;<a class="el" href="group__tsc.html#gga4a1343fce2e36de727e9750009daec2cae72e11f7234158261bfbf3054a9ac04c">kTSC_YnlrPortSource</a> = 1U, 
<br/>
&#160;&#160;<a class="el" href="group__tsc.html#gga4a1343fce2e36de727e9750009daec2ca66abade21b1b9877765fa7ae9e67e3b0">kTSC_YpllPortSource</a> = 2U, 
<br/>
&#160;&#160;<a class="el" href="group__tsc.html#gga4a1343fce2e36de727e9750009daec2ca9098ec18c17eed94f09adcbcf7e858d7">kTSC_XnurPortSource</a> = 3U, 
<br/>
&#160;&#160;<a class="el" href="group__tsc.html#gga4a1343fce2e36de727e9750009daec2ca9c2d8b8ed7ab32c31897923281ffa4b5">kTSC_XpulPortSource</a> = 4U
<br/>
 }</td></tr>
<tr class="memdesc:ga4a1343fce2e36de727e9750009daec2c"><td class="mdescLeft">&#160;</td><td class="mdescRight">@ TSC controller ports.  <a href="group__tsc.html#ga4a1343fce2e36de727e9750009daec2c">More...</a><br/></td></tr>
<tr class="separator:ga4a1343fce2e36de727e9750009daec2c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga19f99254c0cfa03239d394841d6ad60e"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__tsc.html#ga19f99254c0cfa03239d394841d6ad60e">tsc_port_mode_t</a> { <br/>
&#160;&#160;<a class="el" href="group__tsc.html#gga19f99254c0cfa03239d394841d6ad60ea3767a7e89a3f1dae76022b95851dc244">kTSC_PortOffMode</a> = 0U, 
<br/>
&#160;&#160;<a class="el" href="group__tsc.html#gga19f99254c0cfa03239d394841d6ad60ea7f5671b85c86b0a1b2a2675f5733be20">kTSC_Port200k_PullUpMode</a> = 1U &lt;&lt; 2U, 
<br/>
&#160;&#160;<a class="el" href="group__tsc.html#gga19f99254c0cfa03239d394841d6ad60ea2b3ce7b8bf9f190fea54557c2019da91">kTSC_PortPullUpMode</a> = 1U &lt;&lt; 1U, 
<br/>
&#160;&#160;<a class="el" href="group__tsc.html#gga19f99254c0cfa03239d394841d6ad60eabf5232703197bd29d4c1db82cb957afa">kTSC_PortPullDownMode</a> = 1U &lt;&lt; 0U
<br/>
 }</td></tr>
<tr class="memdesc:ga19f99254c0cfa03239d394841d6ad60e"><td class="mdescLeft">&#160;</td><td class="mdescRight">@ TSC port mode.  <a href="group__tsc.html#ga19f99254c0cfa03239d394841d6ad60e">More...</a><br/></td></tr>
<tr class="separator:ga19f99254c0cfa03239d394841d6ad60e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:gacb3dc8de52498f49e63f0bd5938a62bb"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__tsc.html#gacb3dc8de52498f49e63f0bd5938a62bb">TSC_Init</a> (TSC_Type *base, const <a class="el" href="group__tsc.html#structtsc__config__t">tsc_config_t</a> *config)</td></tr>
<tr class="memdesc:gacb3dc8de52498f49e63f0bd5938a62bb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize the TSC module.  <a href="#gacb3dc8de52498f49e63f0bd5938a62bb">More...</a><br/></td></tr>
<tr class="separator:gacb3dc8de52498f49e63f0bd5938a62bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad94ec31c78c6ff62527e07db1963148c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__tsc.html#gad94ec31c78c6ff62527e07db1963148c">TSC_Deinit</a> (TSC_Type *base)</td></tr>
<tr class="memdesc:gad94ec31c78c6ff62527e07db1963148c"><td class="mdescLeft">&#160;</td><td class="mdescRight">De-initializes the TSC module.  <a href="#gad94ec31c78c6ff62527e07db1963148c">More...</a><br/></td></tr>
<tr class="separator:gad94ec31c78c6ff62527e07db1963148c"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
Variables</h2></td></tr>
<tr class="memitem:ga7b0a4cf8822101c093825a56db3fd448"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__tsc.html#ga7b0a4cf8822101c093825a56db3fd448">tsc_config_t::enableAutoMeasure</a></td></tr>
<tr class="memdesc:ga7b0a4cf8822101c093825a56db3fd448"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable the auto-measure.  <a href="#ga7b0a4cf8822101c093825a56db3fd448">More...</a><br/></td></tr>
<tr class="separator:ga7b0a4cf8822101c093825a56db3fd448"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaec23bf547c79341a69eb78ca2fe19640"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__tsc.html#gaec23bf547c79341a69eb78ca2fe19640">tsc_config_t::measureDelayTime</a></td></tr>
<tr class="memdesc:gaec23bf547c79341a69eb78ca2fe19640"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set delay time(0U~0xFFFFFFU) to even potential distribution ready.It is a preparation for measure stage.  <a href="#gaec23bf547c79341a69eb78ca2fe19640">More...</a><br/></td></tr>
<tr class="separator:gaec23bf547c79341a69eb78ca2fe19640"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6e0547b1eb74931522ffe3829462ba03"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__tsc.html#ga6e0547b1eb74931522ffe3829462ba03">tsc_config_t::prechargeTime</a></td></tr>
<tr class="memdesc:ga6e0547b1eb74931522ffe3829462ba03"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set pre-charge time(1U~0xFFFFFFFFU) to make the upper layer of screen to charge to positive high.  <a href="#ga6e0547b1eb74931522ffe3829462ba03">More...</a><br/></td></tr>
<tr class="separator:ga6e0547b1eb74931522ffe3829462ba03"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3aba4cba39fc56658bdf1ce0f7a6ddaf"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__tsc.html#ga654ccd148f43949235e09dc2f0b38189">tsc_detection_mode_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__tsc.html#ga3aba4cba39fc56658bdf1ce0f7a6ddaf">tsc_config_t::detectionMode</a></td></tr>
<tr class="memdesc:ga3aba4cba39fc56658bdf1ce0f7a6ddaf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Select the detection mode.  <a href="#ga3aba4cba39fc56658bdf1ce0f7a6ddaf">More...</a><br/></td></tr>
<tr class="separator:ga3aba4cba39fc56658bdf1ce0f7a6ddaf"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<hr/><h2 class="groupheader">Data Structure Documentation</h2>
<a name="structtsc__config__t" id="structtsc__config__t"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct tsc_config_t</td>
        </tr>
      </table>
</div><div class="memdoc">
<div class="textblock"></div><table class="memberdecls">
<tr><td colspan="2"><h3>Data Fields</h3></td></tr>
<tr class="memitem:ga7b0a4cf8822101c093825a56db3fd448"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__tsc.html#ga7b0a4cf8822101c093825a56db3fd448">enableAutoMeasure</a></td></tr>
<tr class="memdesc:ga7b0a4cf8822101c093825a56db3fd448"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable the auto-measure.  <a href="group__tsc.html#ga7b0a4cf8822101c093825a56db3fd448">More...</a><br/></td></tr>
<tr class="separator:ga7b0a4cf8822101c093825a56db3fd448"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaec23bf547c79341a69eb78ca2fe19640"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__tsc.html#gaec23bf547c79341a69eb78ca2fe19640">measureDelayTime</a></td></tr>
<tr class="memdesc:gaec23bf547c79341a69eb78ca2fe19640"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set delay time(0U~0xFFFFFFU) to even potential distribution ready.It is a preparation for measure stage.  <a href="group__tsc.html#gaec23bf547c79341a69eb78ca2fe19640">More...</a><br/></td></tr>
<tr class="separator:gaec23bf547c79341a69eb78ca2fe19640"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6e0547b1eb74931522ffe3829462ba03"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__tsc.html#ga6e0547b1eb74931522ffe3829462ba03">prechargeTime</a></td></tr>
<tr class="memdesc:ga6e0547b1eb74931522ffe3829462ba03"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set pre-charge time(1U~0xFFFFFFFFU) to make the upper layer of screen to charge to positive high.  <a href="group__tsc.html#ga6e0547b1eb74931522ffe3829462ba03">More...</a><br/></td></tr>
<tr class="separator:ga6e0547b1eb74931522ffe3829462ba03"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3aba4cba39fc56658bdf1ce0f7a6ddaf"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__tsc.html#ga654ccd148f43949235e09dc2f0b38189">tsc_detection_mode_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__tsc.html#ga3aba4cba39fc56658bdf1ce0f7a6ddaf">detectionMode</a></td></tr>
<tr class="memdesc:ga3aba4cba39fc56658bdf1ce0f7a6ddaf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Select the detection mode.  <a href="group__tsc.html#ga3aba4cba39fc56658bdf1ce0f7a6ddaf">More...</a><br/></td></tr>
<tr class="separator:ga3aba4cba39fc56658bdf1ce0f7a6ddaf"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>

</div>
</div>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a class="anchor" id="ga6266bb792d57f73341a5565bad036f09"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define FSL_TSC_DRIVER_VERSION&#160;&#160;&#160;(MAKE_VERSION(2, 0, 0))</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Version 2.0.0. </p>

</div>
</div>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a class="anchor" id="ga654ccd148f43949235e09dc2f0b38189"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__tsc.html#ga654ccd148f43949235e09dc2f0b38189">tsc_detection_mode_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga654ccd148f43949235e09dc2f0b38189a6729342cd2b777d043dc508b21828553"></a>kTSC_Detection4WireMode</em>&nbsp;</td><td class="fielddoc">
<p>4-Wire Detection Mode. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga654ccd148f43949235e09dc2f0b38189ac30abbb1702e84a2197714d37bc90443"></a>kTSC_Detection5WireMode</em>&nbsp;</td><td class="fielddoc">
<p>5-Wire Detection Mode. </p>
</td></tr>
</table>

</div>
</div>
<a class="anchor" id="gaaec5b35ab19a0e647e29531ba1abc06d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__tsc.html#gaaec5b35ab19a0e647e29531ba1abc06d">tsc_corrdinate_value_selection_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ggaaec5b35ab19a0e647e29531ba1abc06dafb5a7d2f1383372497598fc19deeaabf"></a>kTSC_XCoordinateValueSelection</em>&nbsp;</td><td class="fielddoc">
<p>X coordinate value is selected. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggaaec5b35ab19a0e647e29531ba1abc06da9ac47cb685b7fa594b738ccbe3488587"></a>kTSC_YCoordinateValueSelection</em>&nbsp;</td><td class="fielddoc">
<p>Y coordinate value is selected. </p>
</td></tr>
</table>

</div>
</div>
<a class="anchor" id="ga655702c8839e0c94717d485d9a10a67d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__tsc.html#ga655702c8839e0c94717d485d9a10a67d">_tsc_interrupt_signal_mask</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga655702c8839e0c94717d485d9a10a67da4fb712d94c480d0119d469de34503df9"></a>kTSC_IdleSoftwareSignalEnable</em>&nbsp;</td><td class="fielddoc">
<p>Enable the interrupt signal when the controller has return to idle status. </p>
<p>The signal is only valid after using TSC_ReturnToIdleStatus API. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga655702c8839e0c94717d485d9a10a67da79fee3ba7ac2615e17955268b640ad57"></a>kTSC_ValidSignalEnable</em>&nbsp;</td><td class="fielddoc">
<p>Enable the interrupt signal when controller receives a detect signal after measurement. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga655702c8839e0c94717d485d9a10a67da7395931f390785e4f0df7acf807e4eb8"></a>kTSC_DetectSignalEnable</em>&nbsp;</td><td class="fielddoc">
<p>Enable the interrupt signal when controller receives a detect signal. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga655702c8839e0c94717d485d9a10a67da7967ee367ee2b5eb5ba112a8ad23e1a2"></a>kTSC_MeasureSignalEnable</em>&nbsp;</td><td class="fielddoc">
<p>Enable the interrupt signal after the touch detection which follows measurement. </p>
</td></tr>
</table>

</div>
</div>
<a class="anchor" id="gae3e6f693b301c3ee1789dced536985aa"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__tsc.html#gae3e6f693b301c3ee1789dced536985aa">_tsc_interrupt_mask</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ggae3e6f693b301c3ee1789dced536985aaafefa988bea28a002f6cf24f48da7e92c"></a>kTSC_IdleSoftwareInterruptEnable</em>&nbsp;</td><td class="fielddoc">
<p>Enable the interrupt when the controller has return to idle status. </p>
<p>The interrupt is only valid after using TSC_ReturnToIdleStatus API. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggae3e6f693b301c3ee1789dced536985aaae31affb4fc3eac550f1bd68e17c3ecc6"></a>kTSC_DetectInterruptEnable</em>&nbsp;</td><td class="fielddoc">
<p>Enable the interrupt when controller receive a detect signal. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggae3e6f693b301c3ee1789dced536985aaa414d51fca3d752845bbf8a5c8bc03f8b"></a>kTSC_MeasureInterruptEnable</em>&nbsp;</td><td class="fielddoc">
<p>Enable the interrupt after the touch detection which follows measurement. </p>
</td></tr>
</table>

</div>
</div>
<a class="anchor" id="gab7752acd24c075710a208714af0e80ae"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__tsc.html#gab7752acd24c075710a208714af0e80ae">_tsc_interrupt_status_flag_mask</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ggab7752acd24c075710a208714af0e80aea643f3550c610129a163842058abc3a37"></a>kTSC_IdleSoftwareFlag</em>&nbsp;</td><td class="fielddoc">
<p>This flag is set if the controller has return to idle status. </p>
<p>The flag is only valid after using TSC_ReturnToIdleStatus API. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggab7752acd24c075710a208714af0e80aea85788cd279dcfdf8b7b9a0bfa6728afe"></a>kTSC_ValidSignalFlag</em>&nbsp;</td><td class="fielddoc">
<p>This flag is set if controller receives a detect signal after measurement. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggab7752acd24c075710a208714af0e80aea9a36e449f6b8827cd02bcb3b06ecc458"></a>kTSC_DetectSignalFlag</em>&nbsp;</td><td class="fielddoc">
<p>This flag is set if controller receives a detect signal. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggab7752acd24c075710a208714af0e80aea1523302d45304ca3e4f0b0697e236ff9"></a>kTSC_MeasureSignalFlag</em>&nbsp;</td><td class="fielddoc">
<p>This flag is set after the touch detection which follows measurement. </p>
<p>Note: Valid signal falg will be cleared along with measure signal flag. </p>
</td></tr>
</table>

</div>
</div>
<a class="anchor" id="ga474a396fee814b822da5f794b6265894"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__tsc.html#ga474a396fee814b822da5f794b6265894">_tsc_adc_status_flag_mask</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga474a396fee814b822da5f794b6265894aa326721ecff53505481d4bb5cc622dcc"></a>kTSC_ADCCOCOSignalFlag</em>&nbsp;</td><td class="fielddoc">
<p>This signal is generated by ADC when a conversion is completed. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga474a396fee814b822da5f794b6265894a170c54ed0d4dea37f973f827fba3d4db"></a>kTSC_ADCConversionValueFlag</em>&nbsp;</td><td class="fielddoc">
<p>This signal is generated by ADC and indicates the result of an ADC conversion. </p>
</td></tr>
</table>

</div>
</div>
<a class="anchor" id="gadbb2ca2b7e62e7a71a6ad4e3fe4d3059"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__tsc.html#gadbb2ca2b7e62e7a71a6ad4e3fe4d3059">_tsc_status_flag_mask</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ggadbb2ca2b7e62e7a71a6ad4e3fe4d3059aca961be97cfda3f181ec2ecb32e4f6be"></a>kTSC_IntermediateStateFlag</em>&nbsp;</td><td class="fielddoc">
<p>This flag is set if TSC is in intermediate state, between two state machine states. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggadbb2ca2b7e62e7a71a6ad4e3fe4d3059a078984e44f4e84aa4178c41a2913cf5e"></a>kTSC_DetectFiveWireFlag</em>&nbsp;</td><td class="fielddoc">
<p>This flag is set if TSC receives a 5-wire detect signal. </p>
<p>It is only valid when the TSC in detect state and DETECT_ENABLE_FIVE_WIRE bit is set. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggadbb2ca2b7e62e7a71a6ad4e3fe4d3059a9b92797df34e8b13c0d64646c8c6d6cb"></a>kTSC_DetectFourWireFlag</em>&nbsp;</td><td class="fielddoc">
<p>This flag is set if TSC receives a 4-wire detect signal. </p>
<p>It is only valid when the TSC in detect state and DETECT_ENABLE_FOUR_WIRE bit is set. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggadbb2ca2b7e62e7a71a6ad4e3fe4d3059a7a3af06b4926a9680fe7e5afbf693b86"></a>kTSC_GlitchThresholdFlag</em>&nbsp;</td><td class="fielddoc">
<p>This field indicates glitch threshold.The threshold is defined by number of clock cycles. </p>
<p>See "tsc_glitch_threshold_t". If value = 00, Normal function: 0x1fff ipg clock cycles, Low power mode: 0x9 low power clock cycles. If value = 01, Normal function: 0xfff ipg clock cycles, Low power mode: :0x7 low power clock cycles. If value = 10, Normal function: 0x7ff ipg clock cycles, Low power mode:0x5 low power clock cycles. If value = 11, Normal function: 0x3 ipg clock cycles, Low power mode:0x3 low power clock cycles. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggadbb2ca2b7e62e7a71a6ad4e3fe4d3059ada2c97463a5edd7f32d54a94fcaa8996"></a>kTSC_StateMachineFlag</em>&nbsp;</td><td class="fielddoc">
<p>This field indicates the state of TSC. </p>
<p>See "tsc_state_machine_t"; if value = 000, Controller is in idle state. if value = 001, Controller is in 1st-Pre-charge state. if value = 010, Controller is in 1st-detect state. if value = 011, Controller is in x-measure state. if value = 100, Controller is in y-measure state. if value = 101, Controller is in 2nd-Pre-charge state. if value = 110, Controller is in 2nd-detect state. </p>
</td></tr>
</table>

</div>
</div>
<a class="anchor" id="ga639241569cdfa1d3dec8489b1b295d60"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__tsc.html#ga639241569cdfa1d3dec8489b1b295d60">tsc_state_machine_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>These seven states are TSC complete workflow. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga639241569cdfa1d3dec8489b1b295d60aa8338c396e390d1213c0ada74a58e11d"></a>kTSC_IdleState</em>&nbsp;</td><td class="fielddoc">
<p>Controller is in idle state. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga639241569cdfa1d3dec8489b1b295d60a747d661e964edcbe6b1920a4a9ab65e1"></a>kTSC_1stPreChargeState</em>&nbsp;</td><td class="fielddoc">
<p>Controller is in 1st-Pre-charge state. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga639241569cdfa1d3dec8489b1b295d60a74dbd6a1d228a67f0d2a4d47fea110db"></a>kTSC_1stDetectState</em>&nbsp;</td><td class="fielddoc">
<p>Controller is in 1st-detect state. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga639241569cdfa1d3dec8489b1b295d60a06bdb11049b70b1a96c9c38d2cbb4d5e"></a>kTSC_XMeasureState</em>&nbsp;</td><td class="fielddoc">
<p>Controller is in x-measure state. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga639241569cdfa1d3dec8489b1b295d60a328b133c01b9129288860a1746c51342"></a>kTSC_YMeasureState</em>&nbsp;</td><td class="fielddoc">
<p>Controller is in y-measure state. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga639241569cdfa1d3dec8489b1b295d60aa988480f08c3e6abb90008cde61e13db"></a>kTSC_2ndPreChargeState</em>&nbsp;</td><td class="fielddoc">
<p>Controller is in 2nd-Pre-charge state. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga639241569cdfa1d3dec8489b1b295d60afd278a6f3930c424b34b1a70576a89ba"></a>kTSC_2ndDetectState</em>&nbsp;</td><td class="fielddoc">
<p>Controller is in 2nd-detect state. </p>
</td></tr>
</table>

</div>
</div>
<a class="anchor" id="gad188c5cc2e2fa164ab7d0249e5b5535f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__tsc.html#gad188c5cc2e2fa164ab7d0249e5b5535f">tsc_glitch_threshold_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ggad188c5cc2e2fa164ab7d0249e5b5535fa12ee9bea62a7e0fa02c56f70f22e7635"></a>kTSC_glitchThresholdALT0</em>&nbsp;</td><td class="fielddoc">
<p>Normal function: 0x1fff ipg clock cycles, Low power mode: 0x9 low power clock cycles. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggad188c5cc2e2fa164ab7d0249e5b5535fac7b68d98d8b18c9d1226b9c7c1979715"></a>kTSC_glitchThresholdALT1</em>&nbsp;</td><td class="fielddoc">
<p>Normal function: 0xfff ipg clock cycles, Low power mode: :0x7 low power clock cycles. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggad188c5cc2e2fa164ab7d0249e5b5535fa25cd540fd3a16d44d6c29715aa1b085c"></a>kTSC_glitchThresholdALT2</em>&nbsp;</td><td class="fielddoc">
<p>Normal function: 0x7ff ipg clock cycles, Low power mode: :0x5 low power clock cycles. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggad188c5cc2e2fa164ab7d0249e5b5535fa56b8f534049d71e78da5bbd1e345e035"></a>kTSC_glitchThresholdALT3</em>&nbsp;</td><td class="fielddoc">
<p>Normal function: 0x3 ipg clock cycles, Low power mode: :0x3 low power clock cycles. </p>
</td></tr>
</table>

</div>
</div>
<a class="anchor" id="ga32a9bbd362241a4c81f043138d5a332b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__tsc.html#ga32a9bbd362241a4c81f043138d5a332b">tsc_trigger_signal_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga32a9bbd362241a4c81f043138d5a332ba044700d7ed91f6ac084f22f764b072be"></a>kTSC_TriggerToChannel0</em>&nbsp;</td><td class="fielddoc">
<p>Trigger to ADC channel0. </p>
<p>ADC_HC0 register will be used to conversion. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga32a9bbd362241a4c81f043138d5a332baca9c985ee553fd68d8bf832ae157e8e3"></a>kTSC_TriggerToChannel1</em>&nbsp;</td><td class="fielddoc">
<p>Trigger to ADC channel1. </p>
<p>ADC_HC1 register will be used to conversion. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga32a9bbd362241a4c81f043138d5a332baf82ef526f4386c9ac3092d8839bbf16d"></a>kTSC_TriggerToChannel2</em>&nbsp;</td><td class="fielddoc">
<p>Trigger to ADC channel2. </p>
<p>ADC_HC2 register will be used to conversion. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga32a9bbd362241a4c81f043138d5a332bab0b444b84a625cbc46e9acce58f873be"></a>kTSC_TriggerToChannel3</em>&nbsp;</td><td class="fielddoc">
<p>Trigger to ADC channel3. </p>
<p>ADC_HC3 register will be used to conversion. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga32a9bbd362241a4c81f043138d5a332ba219bda9e5ba92cfab02bdb9d12ad18b9"></a>kTSC_TriggerToChannel4</em>&nbsp;</td><td class="fielddoc">
<p>Trigger to ADC channel4. </p>
<p>ADC_HC4 register will be used to conversion. </p>
</td></tr>
</table>

</div>
</div>
<a class="anchor" id="ga4a1343fce2e36de727e9750009daec2c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__tsc.html#ga4a1343fce2e36de727e9750009daec2c">tsc_port_source_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga4a1343fce2e36de727e9750009daec2ca84f9070ba00dd05e32b44c930cd96397"></a>kTSC_WiperPortSource</em>&nbsp;</td><td class="fielddoc">
<p>TSC controller wiper port. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga4a1343fce2e36de727e9750009daec2cae72e11f7234158261bfbf3054a9ac04c"></a>kTSC_YnlrPortSource</em>&nbsp;</td><td class="fielddoc">
<p>TSC controller ynlr port. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga4a1343fce2e36de727e9750009daec2ca66abade21b1b9877765fa7ae9e67e3b0"></a>kTSC_YpllPortSource</em>&nbsp;</td><td class="fielddoc">
<p>TSC controller ypll port. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga4a1343fce2e36de727e9750009daec2ca9098ec18c17eed94f09adcbcf7e858d7"></a>kTSC_XnurPortSource</em>&nbsp;</td><td class="fielddoc">
<p>TSC controller xnur port. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga4a1343fce2e36de727e9750009daec2ca9c2d8b8ed7ab32c31897923281ffa4b5"></a>kTSC_XpulPortSource</em>&nbsp;</td><td class="fielddoc">
<p>TSC controller xpul port. </p>
</td></tr>
</table>

</div>
</div>
<a class="anchor" id="ga19f99254c0cfa03239d394841d6ad60e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__tsc.html#ga19f99254c0cfa03239d394841d6ad60e">tsc_port_mode_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga19f99254c0cfa03239d394841d6ad60ea3767a7e89a3f1dae76022b95851dc244"></a>kTSC_PortOffMode</em>&nbsp;</td><td class="fielddoc">
<p>Disable pull up/down mode. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga19f99254c0cfa03239d394841d6ad60ea7f5671b85c86b0a1b2a2675f5733be20"></a>kTSC_Port200k_PullUpMode</em>&nbsp;</td><td class="fielddoc">
<p>200k-pull up mode. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga19f99254c0cfa03239d394841d6ad60ea2b3ce7b8bf9f190fea54557c2019da91"></a>kTSC_PortPullUpMode</em>&nbsp;</td><td class="fielddoc">
<p>Pull up mode. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga19f99254c0cfa03239d394841d6ad60eabf5232703197bd29d4c1db82cb957afa"></a>kTSC_PortPullDownMode</em>&nbsp;</td><td class="fielddoc">
<p>Pull down mode. </p>
</td></tr>
</table>

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="gacb3dc8de52498f49e63f0bd5938a62bb"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void TSC_Init </td>
          <td>(</td>
          <td class="paramtype">TSC_Type *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="group__tsc.html#structtsc__config__t">tsc_config_t</a> *&#160;</td>
          <td class="paramname"><em>config</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>TSC peripheral base address. </td></tr>
    <tr><td class="paramname">config</td><td>Pointer to "tsc_config_t" structure. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gad94ec31c78c6ff62527e07db1963148c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void TSC_Deinit </td>
          <td>(</td>
          <td class="paramtype">TSC_Type *&#160;</td>
          <td class="paramname"><em>base</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>TSC peripheral base address. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<h2 class="groupheader">Variable Documentation</h2>
<a class="anchor" id="ga7b0a4cf8822101c093825a56db3fd448"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool tsc_config_t::enableAutoMeasure</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>It indicates after detect touch, whether automatic start measurement </p>

</div>
</div>
<a class="anchor" id="gaec23bf547c79341a69eb78ca2fe19640"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t tsc_config_t::measureDelayTime</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>If measure dalay time is too short, maybe it would have an undesired effect on measure value. </p>

</div>
</div>
<a class="anchor" id="ga6e0547b1eb74931522ffe3829462ba03"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t tsc_config_t::prechargeTime</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>It is a preparation for detection stage. Pre-charge time must is greater than 0U, otherwise TSC could not work normally. If pre-charge dalay time is too short, maybe it would have an undesired effect on generation of valid signal(kTSC_ValidSignalFlag). </p>

</div>
</div>
<a class="anchor" id="ga3aba4cba39fc56658bdf1ce0f7a6ddaf"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__tsc.html#ga654ccd148f43949235e09dc2f0b38189">tsc_detection_mode_t</a> tsc_config_t::detectionMode</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>See "tsc_detection_mode_t". </p>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- HTML footer for doxygen 1.8.5-->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul class="foot">
    <li class="footer">&copy; 2016 NXP Semiconductors. All rights reserved.
    </li>
  </ul>
</div>
</body>
</html>
